﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Регл)
	///</summary>
	[DataContract]
	public enum НДФЛРасчетыСБюджетомВидСтроки
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"e7ed2bec-6a8a-4c9c-9e55-1df9bd43efcc\", \"Представление\":\"Начисление\"}")]
		Начисление = 0,
		[EnumMember(Value = "{\"Ссылка\":\"8d2804fd-31ad-41b7-94fd-11edea459d9b\", \"Представление\":\"Удержание\"}")]
		Удержание = 1,
		[EnumMember(Value = "{\"Ссылка\":\"f2ff6b46-ecc7-4518-a712-a26cff6b67ca\", \"Представление\":\"ВозвратНалога\"}")]
		ВозвратНалога = 2,//Возврат налога
		[EnumMember(Value = "{\"Ссылка\":\"50380866-317f-4a55-995e-c7f37d2efaa6\", \"Представление\":\"ПереданоНаВзыскание\"}")]
		ПереданоНаВзыскание = 3,//Передано на взыскание
	}
	public static partial class НДФЛРасчетыСБюджетомВидСтроки_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid Начисление = new Guid("f91d559e-43bd-ccef-4c9c-6a8ae7ed2bec");
		public static readonly Guid Удержание = new Guid("ed11fd94-45ea-9b9d-41b7-31ad8d2804fd");
		public static readonly Guid ВозвратНалога = new Guid("6ca212a7-6bff-ca67-4518-ecc7f2ff6b46");//Возврат налога
		public static readonly Guid ПереданоНаВзыскание = new Guid("f3c75e99-2e7d-a6fa-4a55-317f50380866");//Передано на взыскание
		public static НДФЛРасчетыСБюджетомВидСтроки Получить(this НДФЛРасчетыСБюджетомВидСтроки Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static НДФЛРасчетыСБюджетомВидСтроки Получить(this НДФЛРасчетыСБюджетомВидСтроки Значение, Guid Ссылка)
		{
			if(Ссылка == Начисление)
			{
				return НДФЛРасчетыСБюджетомВидСтроки.Начисление;
			}
			else if(Ссылка == Удержание)
			{
				return НДФЛРасчетыСБюджетомВидСтроки.Удержание;
			}
			else if(Ссылка == ВозвратНалога)
			{
				return НДФЛРасчетыСБюджетомВидСтроки.ВозвратНалога;
			}
			else if(Ссылка == ПереданоНаВзыскание)
			{
				return НДФЛРасчетыСБюджетомВидСтроки.ПереданоНаВзыскание;
			}
			return НДФЛРасчетыСБюджетомВидСтроки.ПустаяСсылка;
		}
		public static byte[] Ключ(this НДФЛРасчетыСБюджетомВидСтроки Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this НДФЛРасчетыСБюджетомВидСтроки Значение)
		{
			switch (Значение)
			{
				case НДФЛРасчетыСБюджетомВидСтроки.Начисление: return Начисление;
				case НДФЛРасчетыСБюджетомВидСтроки.Удержание: return Удержание;
				case НДФЛРасчетыСБюджетомВидСтроки.ВозвратНалога: return ВозвратНалога;
				case НДФЛРасчетыСБюджетомВидСтроки.ПереданоНаВзыскание: return ПереданоНаВзыскание;
			}
			return Guid.Empty;
		}
	}
}